﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using WhiteFox.DAlessio.Agenda.View.Controllers;
using WhiteFox.DAlessio.Patterns.UI.MVC;

namespace WhiteFox.DAlessio.Agenda.View
{
    public partial class frmListar : frmListarView, IView
    {
        public frmListar()
        {
            InitializeComponent();

            this.Load += frmListar_Load;
        }

        void frmListar_Load(object sender, EventArgs e)
        {
            InitData(true);
            Controller.RegisterView(this);
        }

        public void ModelChange(object sender, ModelChangeEventArgs e)
        {
            InitData(e.ForceChange);
        }

        public void InitData(bool isForceLoad)
        {
            if(isForceLoad)
                dgv.DataSource = Controller.Domain.Repository.GetAll();

            dgv.Columns["Telefones"].Visible = false;
        }
    }

    //Classe necessária para que o Form seja visualizado em modo Designer (o modo Designer não consegue renderizar o Form em classes com herança genérica)
    public class frmListarView : ViewBase<ContatoControler> { }   
}
